Modern radars use digital communication networks to move antenna element data and partially processed data from temporary storage to computer and from computer to computer. However, each communication link crossed, e.g., from element to element, has a probability of error that can range from 10−9 to 10−12. When data rates are moderate an error can occur every few seconds. For example, dozens of networked elements operating at 10×109 bits per second having an error rate of 10−12 will on average experience an error every 1 to 2 minutes. Given that these radars are real-time sensors with very high data rates, it is not practical to employ traditional re-transmission techniques to recover the erroneous data.
A non exhaustive list of typical methods for solving the error rate problem includes: (a) dropping the corrupt data and requesting reschedule via normal activity; (b) interpolating between local data; (c) buffering element data for some number of frames and allowing the frames to be re-requested upon detection of corrupt of data in the transmission chain; (d) forwarding error correction coding with the data; (e) using fully redundant networks that buffer the data that then use the data for full failover recovery; and (f) accepting the errors and missing data. Data buffering requires significant memory buffering and processing overhead, as well as additional weight, power, space, and cost to the system due to added components. In the event of an error, retransmission of data interrupts the normal data flow, and in the event of excessive errors can prevent the data from getting through at all. Error acceptance without correction is often intolerable to effective system operation. A solution that employs a real time system and method that selects data having the greatest integrity for each element between a particular data path is highly desirable.
FIG. 1a illustrates a prior art high-speed data network 100 for a radar system that for purposes of illustration receives radar data via input 155. It is understood that antenna input 155 refers to input supplied from a radar antenna or a computer having a memory that stores radar data. By way of example, the data input 155 may transfer via a direct memory access (DMA) engine to network 100 for transmission to a processor 153 comprising a computer and memory for processing. Typically the data transfers comprise 16-bit words, but any word length may be employed consistent with the requirements of a particular radar system. Further, each data word may be formatted for transmission into smaller bytes having such data integrity schema as parity codes and cyclical redundancy check (CRC) code generation, as well as the means for the creation of check sums for the transmitted word, which is by convention typically appended to the data stream. A check sum function produces as output a value of a certain fixed size. A CRC generally may be used as a checksum to detect accidental alteration of the data during transmission or storage. Data transmission systems generally can also include more robust forward error correction schemes such as repetition schemes, convolution codes and block codes such as a Hamming code, Reed-Solomon code, Reed-Muller code, Binary Golay code and Bose-Chaudauri-Hocquenghem Code. These schemes in addition to parity schemes, cyclic redundancy checks, single error correcting (SEC), and double error detecting (DED) are well known by those of ordinary skill in the art of data storage and transmission.
In the block diagram illustrated in FIG. 1a one or more communication channels 1501 through 150n, have transmission elements 152mn, such as transmission element 15211 that works in parallel with other channel transmission elements (15221, 15231, . . . 152n1) to obtain a higher aggregate data rate. Each of the transmission elements 152mn receives antenna data input from antenna input 155 as shown by the data input arrows numbered 11, 12, . . . 21, 22 . . . mn. In one implementation of the prior art system, a 10 Gigabits (Gb) Ethernet uses four (4)×2.5 Gb channels or lanes to achieve the required throughput. Such throughput is achieved utilizing components, such as serializer/deserializers, as the actual transmission elements 152nm. The data is parsed and inputted into the elements 152nm as serial bytes having bit length (1/n)*(word length). In a typical example, as illustrated in FIG. 1a, first channel 15211 receives bytes 1, 5 and 9 of a given data segment; whereas a second channel 15221 receives bytes 2, 6 and 10, and so on. The elements 152nm may also encode the data, as for example 16 bits into 20 bits (e.g., 8 bits/10 bit encoding) for transmission over network 100 having parallel channels via associated transmission elements, such as transmission elements 15212 through 1521m that may support serial interfaces in high-speed data network applications.
The data is communicated over transmission medium or channel transmission 150, 154, and 158 that serve as links between the transmission elements 152nm within the network 100. The network 100 may comprise any medium or combination thereof for data transmission such as: (a) parallel twisted pair of copper lines for electrical transmission, (b) distinct wavelengths, if transmitted using fiber optics, or (c) microwave transmitters and associated receivers, operating via a medium such as air. If the microwave receivers are point to point, they may operate at the same frequency; if over a single channel the transmission may be coded (e.g., CDMA, TDMA) or may be at different frequencies. However, the prior art radar signal transmission elements 152nm, such as transmission element 15211 that work in parallel with elements associated with other channels (e.g. 1502, . . . 150n) do not provide for forward error correction. Any data error detection and potential correction is performed in the processing function 153 such as a computer processor.
FIG. 1b is a flow chart of a prior art process 102 that works in conjunction with the prior art system illustrated in FIG. 1a. Processes operate in real time to process the data input via antenna data input 155 through network 100 (FIG. 1a). At the start or input 105 a real time processing module labeled generally as 102 is invoked. Real time processing function or module 110 receives and collects or stores data 107, which is generally embodied in the data conveyed via radar signal transmission elements 152nm described in FIG. 1a. The final elements 152nm (where n equals the number of parallel channels) of the system of FIG. 1a transfers data 112 to a process 114 where typically a forward correction code computation is performed to determine if the data's integrity is in tact, (i.e., that no errors are detected in the transmission of data). Real time process module 114 may be embodied in a computer processor 153 (FIG. 1a). If an error computation, such as a CRC computation indicates that no errors are present, then the CRC value appended to the data stream on transmission is stripped from the data stream or packet and the data is stored in a system memory and subsequently transferred via DMA to service various radar applications.
If no error was detected a signal 115 indicates to module 105 to commence transmitting the next sequence (e.g., a record, frame or packet) of data through the network 100 (FIG. 1a). However, if an error is detected then an error indication is reported via flow path 117 to a non-real time process, or module labeled generally as 103. Process 103 includes a means, or module for the collection and processing of error information 121. A count of the detected errors in the data sequence 122 is computed in the means for the collection and processing of error information 121 and communicated to a compare process 125 to determine whether the number of detected errors exceeds a threshold value. If the number of errors have not exceeded the threshold, then a signal is output via flow path 127 from the comparator 125 that indicates to antenna data input 105 to transmit the next sequence (e.g., a record, frame or packet) of data through the network 100 (FIG. 1a) and the process 121 returns to a wait state. If an error has occurred and the number of errors has exceeded the threshold then the signal is not transmitted from compare module 125 via flow path 127 and received by start module 105 for processing the next sequence (e.g., a record, frame or packet) of data through the network 100 (FIG. 1a). Instead, data flow is interrupted via signal 132 such as a signal restart, reset or resynchronization signal to module 105 communicated via flow path 130. Errors exceeding the threshold thus often force a resynchronization event in a radar application, limiting the radar's availability. In addition to forcing a time consuming resynchronization event in a radar application, the foregoing prior art radar architecture lacks error correction mechanisms (e.g. error correction) for correcting errors before reaching data processing module 114. Alternative methods and systems are desired.